import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.awt.Color;
import java.util.*;

/**
 * Esta clase es para mostrar los cuadros de texto que indican los nombres y las cantidades.
 * 
 * @author Ulises Yamil Castorena Caldera
 * @version 1.0
 */
public class Text extends Actor
{
    private GreenfootImage text;//Varibale para crear la imagen.
    private int cant;//Guarda el número total que se desea mostrar.
    private int tipo;//Variable que guarda el tipo de cuadro de texto.
    private String dato;//Variable que guarda la cadena.
    
    /**
     * Constructor de la clase Text.
     * @param texto Es la cadena a mostrar.
     * @param valor La cantidad que se desea mostrar.
     * @param seleccion Es el tipo de texto a mostrar.
     */
    public Text(String texto,int valor,int seleccion)
    {
        cant = valor;
        dato = texto;
        tipo = seleccion;        
        text = new GreenfootImage(dato +" "+ cant,20,Color.WHITE,Color.BLACK);        
        setImage(text);
    }
    
    /**
     * Constructor de la clase Text.
     * @param texto Es la cadena a mostrar.
     * @param seleccion Es el tipo de texto a mostrar.
     */
    public Text(String texto,int seleccion)
    {
        dato = texto;
        tipo = seleccion;
    }
    
    /**
     * Método Act de la clase.
     */
    public void act() 
    {
        World mundo = getWorld();
        switch(tipo)
        {
            case 0:            
                cant = ((DuckWorld)mundo).returnCant();
                setImage(new GreenfootImage(dato +" "+ cant,20,Color.WHITE,Color.BLACK));
            break;
            case 1:
                cant = ((DuckWorld)mundo).returnScore();
                setImage(new GreenfootImage(dato +" "+ cant,20,Color.WHITE,Color.BLACK));
            break;
            case 2:            
                Object ac = ((DuckWorld)getWorld()).character();
                setImage(new GreenfootImage(dato +" "+ ((User)ac).returnAmmo(),20,Color.WHITE,Color.BLACK));
            break;
            case 3:
                cant = ((DuckWorld)mundo).returnNivel();
                setImage(new GreenfootImage(dato + cant,30,Color.WHITE,Color.BLACK));
            break;
            case 4:
                cant = ((DuckWorld)mundo).returnScoreEnemy();
                setImage(new GreenfootImage(dato +" "+ cant,20,Color.WHITE,Color.BLACK));
            break;
            case 5:
                setImage(new GreenfootImage(dato,60,Color.WHITE,Color.BLACK));
            break; 
            case 6:
                setImage(new GreenfootImage(dato,20,Color.WHITE,Color.BLACK));
            break;
        }
    }  
}
